home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC] / NeXTSTEP 3.3 Dev Intel.iso / usr / lib / nib / app.make next >
Text File  |  1992-04-07  |  6KB  |  211 lines

  1. #
  2. # NOTE: Do NOT change this file -- InterfaceBuilder depends on it.
  3. #
  4. # useful macros to put into your Makefile.preamble to override the default
  5. # values in the IB-generated Makefile:
  6. #    ENGLISH
  7. #    JAPANESE
  8. #
  9. #    MAKEFILEDIR
  10. #    SOURCEMODE
  11. #    CFLAGS
  12. #    OBJCFLAGS
  13. #    PSWFLAGS
  14. #    LDFLAGS
  15. #    INSTALLFLAGS
  16. #    OTHER_LIBS
  17. #    OTHER_DEBUG_LIBS
  18. #    OTHER_PROF_LIBS
  19. #    OTHER_JAPANESE_LIBS
  20. #    OTHER_JAPANESE_DEBUG_LIBS
  21. #    OTHER_JAPANESE_PROF_LIBS
  22. #    OTHER_SOURCEFILES
  23. #    OTHER_OFILES
  24. #    OTHER_PRODUCT_DEPENDS
  25. #    OTHER_INSTALL_DEPENDS
  26. #    OTHER_GARBAGE
  27. #
  28.  
  29. PRODUCT = $(NAME)
  30. OFILE_DIR = obj
  31. SUPPORTFILES = IB.proj Makefile makefile $(NAME).iconheader \
  32.     Makefile.preamble Makefile.postamble
  33. SRCFILES = $(CLASSES) $(CLASSES:.m=.h) \
  34.     $(MFILES) $(CFILES) $(HFILES) $(PSWFILES) $(PSWMFILES) \
  35.     $(INTERFACES) $(TIFFFILES) $(EPSFILES) $(SNDFILES) \
  36.     $(OTHERSRCS) $(OTHER_SOURCEFILES)  \
  37.     $(APPICON) $(DOCICONS)
  38. OFILES = $(SUBPROJECTS:.subproj=.o) \
  39.     $(PSWFILES:.psw=.o) $(PSWMFILES:.pswm=.o) $(CLASSES:.m=.o) \
  40.     $(MFILES:.m=.o) $(CFILES:.c=.o)
  41. EARLY_HEADERS = $(PSWFILES:.psw=.h) $(PSWMFILES:.pswm=.h) \
  42.     $(SUBPROJECTS:.subproj=.h)
  43. PRODUCT_DEPENDS =  $(EARLY_HEADERS) $(OFILE_DIR) \
  44.     $(OFILES) $(OTHER_OFILES) \
  45.     $(INTERFACES) $(TIFFFILES) $(EPSFILES) $(SNDFILES) \
  46.     $(APPICON) $(DOCICONS) $(OTHER_PRODUCT_DEPENDS)
  47. INSTALL_DEPENDS = $(DSTROOT)$(INSTALLDIR) all $(OTHER_INSTALL_DEPENDS)
  48. NIBLIBDIR = /usr/lib/nib
  49. GARBAGE = $(PSWFILES:.psw=.c) $(PSWMFILES:.pswm=.m) \
  50.       $(NAME) $(NAME).debug $(NAME).profile \
  51.       obj debug_obj profile_obj \
  52.       $(OTHER_GARBAGE) gmon.out
  53. APPICONFLAGS =  -sectcreate __ICON __header $(NAME).iconheader  \
  54.         -segprot __ICON r r $(ICONSECTIONS)
  55.  
  56. _CFLAGS = $(CFLAGS) -O -g -Wall
  57. _LDFLAGS = $(LDFLAGS)
  58.  
  59.  
  60. #
  61. # user level targets
  62. #
  63.  
  64. all::
  65.     @if [ "$(ENGLISH)" = "YES" -o "$(JAPANESE)" != "YES" ] ; then \
  66.     $(MAKE) $(PRODUCT) \
  67.         "ENGLISH=$(ENGLISH)" \
  68.         "JAPANESE=$(JAPANESE)" \
  69.         "MAKEFILEDIR=$(MAKEFILEDIR)" ; \
  70.     else \
  71.     $(MAKE) $(PRODUCT) \
  72.         "_CFLAGS=$(CFLAGS) -O -g -Wall -DKANJI" \
  73.         "ENGLISH=$(ENGLISH)" \
  74.         "JAPANESE=$(JAPANESE)" \
  75.         "MAKEFILEDIR=$(MAKEFILEDIR)" ; \
  76.     fi
  77.     
  78. debug $(PRODUCT).debug::
  79.     @if [ "$(ENGLISH)" = "YES" -o "$(JAPANESE)" != "YES" ] ; then \
  80.     $(MAKE) $(NAME).debug "PRODUCT = $(NAME).debug" \
  81.         "OFILE_DIR = debug_obj" \
  82.         "_CFLAGS = $(CFLAGS) -g -DDEBUG -Wall" \
  83.         "LIBS = $(DEBUG_LIBS)" \
  84.         "OTHER_LIBS = $(OTHER_DEBUG_LIBS)" \
  85.         "MAKEFILEDIR=$(MAKEFILEDIR)" ; \
  86.     else \
  87.     $(MAKE) $(NAME).debug "PRODUCT = $(NAME).debug" \
  88.         "OFILE_DIR = debug_obj" \
  89.         "_CFLAGS = $(CFLAGS) -g -DDEBUG -Wall -DKANJI" \
  90.         "LIBS = $(DEBUG_LIBS:lNeXT_s=lNeXTJ_s)" \
  91.         "OTHER_LIBS = $(OTHER_DEBUG_LIBS:lNeXT_s=lNeXTJ_s)" \
  92.         "OTHER_JAPANESE_LIBS = $(OTHER_JAPANESE_DEBUG_LIBS)" \
  93.         "MAKEFILEDIR=$(MAKEFILEDIR)" ; \
  94.     fi
  95.  
  96. profile $(PRODUCT).profile::
  97.     @if [ "$(ENGLISH)" = "YES" -o "$(JAPANESE)" != "YES" ] ; then \
  98.     $(MAKE) $(NAME).profile "PRODUCT = $(NAME).profile" \
  99.         "OFILE_DIR = profile_obj" \
  100.         "_CFLAGS = $(CFLAGS) -O -pg -Wall" \
  101.         "LIBS = $(PROF_LIBS)" \
  102.         "OTHER_LIBS = $(OTHER_PROF_LIBS)" \
  103.         "MAKEFILEDIR=$(MAKEFILEDIR)" ; \
  104.     else \
  105.     $(MAKE) $(NAME).profile "PRODUCT = $(NAME).profile" \
  106.         "OFILE_DIR = profile_obj" \
  107.         "_CFLAGS = $(CFLAGS) -O -pg -Wall -DKANJI" \
  108.         "LIBS = $(PROF_LIBS:lNeXT_p=lNeXTJ_p)" \
  109.         "OTHER_LIBS = $(OTHER_PROF_LIBS:lNeXT_p=lNeXTJ_p)" \
  110.         "OTHER_JAPANESE_LIBS = $(OTHER_JAPANESE_PROF_LIBS)" \
  111.         "MAKEFILEDIR=$(MAKEFILEDIR)" ; \
  112.     fi
  113.  
  114. clean:: $(NAME).clean $(SUBPROJECTS:.subproj=.clean)
  115.  
  116. installsrc:: $(NAME).installsrc $(SUBPROJECTS:.subproj=.installsrc)
  117.  
  118. install:: $(INSTALL_DEPENDS) $(NAME).install
  119.  
  120. depend:: Makefile.dependencies $(SUBPROJECTS:.subproj=.depend)
  121.  
  122. help::
  123.     @echo '  all (the default)'
  124.     @echo '  debug'
  125.     @echo '  profile'
  126.     @echo '  clean'
  127.     @echo '  installsrc SRCROOT=somepath'
  128.     @echo '  install [DSTROOT=somepath]'
  129.     @echo '  depend'
  130.  
  131. #
  132. # Common functionality
  133. #
  134.  
  135. include $(MAKEFILEDIR)/common.make
  136.  
  137. #
  138. # app-specific functionality
  139. #
  140.  
  141. $(PRODUCT):: $(PRODUCT_DEPENDS)
  142.     @if [ ${NOMACHO} ] ; then \
  143.         ldflags="$(_LDFLAGS) $(APPICONFLAGS)"; \
  144.     else \
  145.         ldflags="$(_LDFLAGS) $(APPICONFLAGS)"; \
  146.         nibseg=no; tiffseg=no; epsseg=no; sndseg=no; \
  147.         for i in $(INTERFACES) nonibfiles ; do \
  148.             if [ $$i = nonibfiles ] ; then continue; fi; \
  149.             nibseg=yes; \
  150.             ldflags="$$ldflags -sectcreate __NIB $$i $$i"; \
  151.         done; \
  152.         for i in $(TIFFFILES) notifffiles ; do \
  153.             if [ $$i = notifffiles ] ; then continue; fi; \
  154.             tiffseg=yes; \
  155.             ldflags="$$ldflags -sectcreate __TIFF $$i $$i"; \
  156.         done; \
  157.         for i in $(EPSFILES) noepsfiles ; do \
  158.             if [ $$i = noepsfiles ] ; then continue; fi; \
  159.             epsseg=yes; \
  160.             ldflags="$$ldflags -sectcreate __EPS $$i $$i"; \
  161.         done; \
  162.         for i in $(SNDFILES) nosndfiles ; do \
  163.             if [ $$i = nosndfiles ] ; then continue; fi; \
  164.             sndseg=yes; \
  165.             ldflags="$$ldflags -sectcreate __SND $$i $$i"; \
  166.         done; \
  167.         for i in $(LIBINTERFACES) nonibfiles ; do \
  168.             if [ $$i = nonibfiles ] ; then continue; fi; \
  169.             nibseg=yes; \
  170.             ldflags="$$ldflags -sectcreate __NIB $$i $(NIBLIBDIR)/$$i"; \
  171.         done; \
  172.         for i in $(LIBTIFFFILES) notifffiles ; do \
  173.             if [ $$i = notifffiles ] ; then continue; fi; \
  174.             tiffseg=yes; \
  175.             ldflags="$$ldflags -sectcreate __TIFF $$i $(NIBLIBDIR)/$$i"; \
  176.         done; \
  177.         for i in $(SUBPROJECTS:.subproj=.ldflags) none ; do \
  178.             if [ $$i = none ] ; then continue; fi; \
  179.             ldflags="$$ldflags `cat $(OFILE_DIR)/$$i`"; \
  180.         done; \
  181.         if [ $$nibseg = yes ] ; then \
  182.         ldflags="$$ldflags -segprot __NIB r r"; \
  183.         fi ; \
  184.         if [ $$tiffseg = yes ] ; then \
  185.         ldflags="$$ldflags -segprot __TIFF r r"; \
  186.         fi ; \
  187.         if [ $$epsseg = yes ] ; then \
  188.         ldflags="$$ldflags -segprot __EPS r r"; \
  189.         fi ; \
  190.         if [ $$sndseg = yes ] ; then \
  191.         ldflags="$$ldflags -segprot __SND r r"; \
  192.         fi ; \
  193.     fi ; \
  194.     if [ "$(ENGLISH)" = "YES" -o "$(JAPANESE)" != "YES" ] ; then \
  195.     echo $(CC) $(_CFLAGS) $$ldflags -o $(PRODUCT) $(OFILES) \
  196.             $(OTHER_OFILES) $(OTHER_LIBS) $(LIBS) ; \
  197.     $(CC) $(_CFLAGS) $$ldflags -o $(PRODUCT) $(OFILES) $(OTHER_OFILES) \
  198.                      $(OTHER_LIBS) $(LIBS) ; \
  199.     else \
  200.     echo $(CC) $(_CFLAGS) $$ldflags -o $(PRODUCT) $(OFILES) \
  201.             $(OTHER_OFILES) $(OTHER_JAPANESE_LIBS) \
  202.             $(OTHER_LIBS:lNeXT_s=lNeXTJ_s) \
  203.             $(LIBS:lNeXT_s=lNeXTJ_s) ; \
  204.     $(CC) $(_CFLAGS) $$ldflags -o $(PRODUCT) $(OFILES) \
  205.             $(OTHER_OFILES) $(OTHER_JAPANESE_LIBS) \
  206.             $(OTHER_LIBS:lNeXT_s=lNeXTJ_s) \
  207.             $(LIBS:lNeXT_s=lNeXTJ_s) ; \
  208.     fi
  209.  
  210.  
  211.